var keydown = {
	  8: 'delete',   9: 'tab',     13: 'enter',     16: 'shift',
	 17: 'control', 18: 'alt',     20: 'caps_lock', 27: 'esc',
	 32: 'space',   37: 'left',    38: 'up',        39: 'right',
	 40: 'down',    48: '0',       49: '1',         50: '2',
	 51: '3',       52: '4',       53: '5',         54: '6',
	 55: '7',       56: '8',       57: '9',         65: 'a',
	 66: 'b',       67: 'c',       68: 'd',         69: 'e',
	 70: 'f',       71: 'g',       72: 'h',         73: 'i',
	 74: 'j',       75: 'k',       76: 'l',         77: 'm',
	 78: 'n',       79: 'o',       80: 'p',         81: 'q',
	 82: 'r',       83: 's',       84: 't',         85: 'u',
	 86: 'v',       87: 'w',       88: 'x',         89: 'y',
	 90: 'z',      112: 'f1',     113: 'f2',       114: 'f3',
	115: 'f4',     116: 'f5',     117: 'f6',       118: 'f7',
	119: 'f8',     120: 'f9',     121: 'f10',      122: 'f11',
	123: 'f12',    186: ';',      187: '=',        188: ',',
	189: '-',      190: '.',      191: '/',        192: '`',
	219: '[',      220: '\\',     221: ']',        222: '\''
};
	
var keypress = {
	 13: '\n',      32: ' ',       33: '!',         34: '"',
	 35: '#',       36: '$',       37: '%',         38: '&',
	 39: '\'',      40: '(',       41: ')',         42: '*',
	 43: '+',       44: ',',       45: '-',         46: '.',
	 47: '/',       48: '0',       49: '1',         50: '2',
	 51: '3',       52: '4',       53: '5',         54: '6',
	 55: '7',       56: '8',       57: '9',         59: ';',
	 60: '<',       61: '=',       62: '>',         63: '?',
	 64: '@',       65: 'A',       66: 'B',         67: 'C',
	 68: 'D',       69: 'E',       70: 'F',         71: 'G',
	 72: 'H',       73: 'I',       74: 'J',         75: 'K',
	 76: 'L',       77: 'M',       78: 'N',         79: 'O',
	 80: 'P',       81: 'Q',       82: 'R',         83: 'S',
	 84: 'T',       85: 'U',       86: 'V',         87: 'W',
	 88: 'X',       89: 'Y',       90: 'Z',         91: '[',
	 92: '\\',      93: ']',       94: '^',         95: '_',
	 96: '`',       97: 'a',       98: 'b',         99: 'c',
	100: 'd',      101: 'e',      102: 'f',        103: 'g',
	104: 'h',      105: 'i',      106: 'j',        107: 'k',
	108: 'l',      109: 'm',      110: 'n',        111: 'o',
	112: 'p',      113: 'q',      114: 'r',        115: 's',
	116: 't',      117: 'u',      118: 'v',        119: 'w',
	120: 'x',      121: 'y',      122: 'z',        123: '{',
	124: '|',      125: '}',      126: '~'
};

module.exports.lookup = function(code, type) {
	type = type || 'keypress';
	if (type === 'keypress') {
		return keypress[code];
	} else if (type === 'keydown') {
		return keydown[code];
	}
};
